package cn.edu.ncut.cs.springboot.mybatisplusemployee.service;


import cn.edu.ncut.cs.springboot.mybatisplusemployee.entity.User;
import cn.edu.ncut.cs.springboot.mybatisplusemployee.VO.UserVO;
import org.springframework.lang.NonNull;

import java.util.List;
import java.util.Optional;

public interface IUserService {
    List<UserVO> findAll();

    /**
     * 通过用户名获取账户
     *
     * @param username 用户名
     * @return 包含用户信息的Optional对象
     */
    Optional<User> getByUsername(@NonNull String username);

    /**
     * 创建用户账户
     *
     * @param userVO 用户视图对象
     * @return 是否创建成功
     */
    boolean create(@NonNull UserVO userVO);

    User getById(@NonNull Long id);
}